{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "分类模型试图在一个离散的空间中预测一个目标，即为一个因变量实例分配一个或多个类别。分类分数可视化工具显示类之间的差异以及一些特定于分类器的可视化评估。我们目前已经实施了以下分类器评估：\n",
    "\n",
    "+ 分类报告Classification Report：视觉分类报告，将每个类别的精度，召回率和F1显示为热图。\n",
    "+ 混淆矩阵Confusion Matrix：多类分类中混淆矩阵的热图视图。\n",
    "+ ROCAUC: 绘制训练器的工作特性和曲线下面积\n",
    "+ Precision-Recall曲线：绘制不同概率阈值的精度和召回率。\n",
    "+ 类平衡：目视检查目标，以向最终评估者显示每个类的支持。\n",
    "+ 类预测错误：混淆矩阵的另一种选择，它显示实际类和预测类之间的支持和差异。\n",
    "+ 辨别阈值：显示使用辨别概率或分数的二进制分类器在所有阈值上的精确度、召回率、F1和队列率。\n",
    "\n",
    "本文如果数据集下载不下来，查看下面地址，然后放入yellowbrick安装目录\\datasets\\fixtures文件夹:\n",
    "```\n",
    "{\n",
    "  \"bikeshare\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/bikeshare.zip\",\n",
    "    \"signature\": \"4ed07a929ccbe0171309129e6adda1c4390190385dd6001ba9eecc795a21eef2\"\n",
    "  },\n",
    "  \"hobbies\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/hobbies.zip\",\n",
    "    \"signature\": \"6114e32f46baddf049a18fb05bad3efa98f4e6a0fe87066c94071541cb1e906f\"\n",
    "  },\n",
    "  \"concrete\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/concrete.zip\",\n",
    "    \"signature\": \"5807af2f04e14e407f61e66a4f3daf910361a99bb5052809096b47d3cccdfc0a\"\n",
    "  },\n",
    "  \"credit\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/credit.zip\",\n",
    "    \"signature\": \"2c6f5821c4039d70e901cc079d1404f6f49c3d6815871231c40348a69ae26573\"\n",
    "  },\n",
    "  \"energy\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/energy.zip\",\n",
    "    \"signature\": \"174eca3cd81e888fc416c006de77dbe5f89d643b20319902a0362e2f1972a34e\"\n",
    "  },\n",
    "  \"game\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/game.zip\",\n",
    "    \"signature\": \"ce799d1c55fcf1985a02def4d85672ac86c022f8f7afefbe42b20364fba47d7a\"\n",
    "  },\n",
    "  \"mushroom\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/mushroom.zip\",\n",
    "    \"signature\": \"f79fdbc33b012dabd06a8f3cb3007d244b6aab22d41358b9aeda74417c91f300\"\n",
    "  },\n",
    "  \"occupancy\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/occupancy.zip\",\n",
    "    \"signature\": \"0b390387584586a05f45c7da610fdaaf8922c5954834f323ae349137394e6253\"\n",
    "  },\n",
    "  \"spam\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/spam.zip\",\n",
    "    \"signature\": \"000309ac2b61090a3001de3e262a5f5319708bb42791c62d15a08a2f9f7cb30a\"\n",
    "  },\n",
    "  \"walking\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/walking.zip\",\n",
    "    \"signature\": \"7a36615978bc3bb74a2e9d5de216815621bd37f6a42c65d3fc28b242b4d6e040\"\n",
    "  },\n",
    "  \"nfl\": {\n",
    "    \"url\": \"https://s3.amazonaws.com/ddl-data-lake/yellowbrick/v1.0/nfl.zip\",\n",
    "    \"signature\": \"4989c66818ea18217ee0fe3a59932b963bd65869928c14075a5c50366cb81e1f\"\n",
    "  }\n",
    "}\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# 多行输出\r\n",
    "from IPython.core.interactiveshell import InteractiveShell\r\n",
    "InteractiveShell.ast_node_interactivity = \"all\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 1 分类报告Classification Report\n",
    "分类报告可视化工具显示模型的精度、召回率、F1和支持度得分。为了便于解释和发现问题，该报告将数字分数与彩色编码热图相结合。所有热图都在（0.0，1.0）范围内，以便于不同分类报告之间的分类模型比较。\n",
    "\n",
    "|可视化器|ClassificationReport|\n",
    "|-|-|\n",
    "|快速使用方法|classification_report()|\n",
    "|模型|分类|\n",
    "|工作流程|模型评估|\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 1.1 基本使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/model_selection/_split.py:752: FutureWarning: You should specify a value for 'n_splits' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(NSPLIT_WARNING, FutureWarning)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 800x550 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.model_selection import TimeSeriesSplit\r\n",
    "from sklearn.naive_bayes import GaussianNB\r\n",
    "\r\n",
    "from yellowbrick.classifier import ClassificationReport\r\n",
    "from yellowbrick.datasets import load_occupancy\r\n",
    "\r\n",
    "# Load the classification dataset\r\n",
    "X, y = load_occupancy()\r\n",
    "\r\n",
    "# Specify the target classes\r\n",
    "classes = [\"unoccupied\", \"occupied\"]\r\n",
    "\r\n",
    "# Create the training and test data\r\n",
    "# 建立时序数据\r\n",
    "tscv = TimeSeriesSplit()\r\n",
    "for train_index, test_index in tscv.split(X):\r\n",
    "    X_train, X_test = X.iloc[train_index], X.iloc[test_index]\r\n",
    "    y_train, y_test = y.iloc[train_index], y.iloc[test_index]\r\n",
    "\r\n",
    "# Instantiate the classification model and visualizer\r\n",
    "# 建立分类器\r\n",
    "model = GaussianNB()\r\n",
    "# support 表示是否添加support方块格中显示数据。{True，False，None，'percent'，'count'}，默认值：无\r\n",
    "# support-'percent'表示百分比显示数据，'count'表示按个数显示数据\r\n",
    "visualizer = ClassificationReport(model, classes=classes, support=True)\r\n",
    "\r\n",
    "visualizer.fit(X_train, y_train)        # Fit the visualizer and the model\r\n",
    "visualizer.score(X_test, y_test)        # Evaluate the model on the test data\r\n",
    "visualizer.show();                       # Finalize and show the figure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "分类报告以每个类为基础显示主要分类指标的表示形式。\n",
    "这给了分类器行为比全局精度更深的直观，这可以掩盖多类问题的一类中的功能弱点。\n",
    "视觉分类报告用于比较分类模型，以选择更“红色”的模型，例如，具有更强的分类度量或更平衡的模型。\n",
    "\n",
    "度量标准根据真阳性和假阳性，真阴性和假阴性来定义。在这种情况下，正和负是二元分类问题的类的通用名称。在上面的例子中，我们会考虑真和假被占据和真和假未被占据。因此，真正的正数是当实际类和估计类都是正数时。假阳性是指实际的类是负数，但估计的类是正数。使用这个术语，计量的定义如下:\n",
    "+ 精度precision：精确度是分类器不将一个实例标记为正的能力，而实际上是负的。对于每个类，它被定义为真阳性与真阳性和假阳性之和的比率。换句话说，“对于所有被归类为正面的例子，正确的百分比是多少?”\n",
    "+ 召回率recall：回忆是分类器找到所有正实例的能力。对于每个类，它被定义为真阳性与真阳性和假阴性之和的比率。换一种说法，“在所有实际是积极的情况下，正确分类的百分比是多少?”\n",
    "+ F1分数：F1的分数是精度和召回率的加权调和平均值，最好的分数是1.0，最差的是0.0。一般来说，F1的分数低于准确性指标，因为它们在计算中嵌入了精度和召回率。作为一个经验法则，应该使用F1的加权平均值来比较分类器模型，而不是全局精度。\n",
    "+ support：支持是类在指定数据集中实际出现的次数。训练数据中的不平衡支持可能表明分类器报告分数中的结构弱点，并可能表明需要分层抽样或再平衡。模型之间的支持不会改变，而是对评估过程进行诊断。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 1.2 快速使用\n",
    "上面的相同功能可以通过关联的快速方法来实现classification_report。此方法将ClassificationReport使用关联的参数构建对象，将其拟合，然后（可选）立即显示它。\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/model_selection/_split.py:752: FutureWarning: You should specify a value for 'n_splits' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(NSPLIT_WARNING, FutureWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.model_selection import TimeSeriesSplit\r\n",
    "from sklearn.naive_bayes import GaussianNB\r\n",
    "\r\n",
    "from yellowbrick.datasets import load_occupancy\r\n",
    "from yellowbrick.classifier import classification_report\r\n",
    "\r\n",
    "# Load the classification data set\r\n",
    "X, y = load_occupancy()\r\n",
    "\r\n",
    "# Specify the target classes\r\n",
    "classes = [\"unoccupied\", \"occupied\"]\r\n",
    "\r\n",
    "# Create the training and test data\r\n",
    "tscv = TimeSeriesSplit()\r\n",
    "for train_index, test_index in tscv.split(X):\r\n",
    "    X_train, X_test = X.iloc[train_index], X.iloc[test_index]\r\n",
    "    y_train, y_test = y.iloc[train_index], y.iloc[test_index]\r\n",
    "\r\n",
    "# Instantiate the visualizer\r\n",
    "visualizer = classification_report(\r\n",
    "    GaussianNB(), X_train, y_train, X_test, y_test, classes=classes, support=True\r\n",
    ");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 2 混淆矩阵Confusion Matrix\n",
    "ConfusionMatrix visualizer是一个ScoreVisualizer，它使用一个合适的scikit学习分类器和一组测试X和y值，并返回一个报告，显示每个测试值预测类与实际类的比较情况。数据科学家使用混淆矩阵来理解哪些类最容易混淆。它们提供的信息与分类报告中提供的信息相似，但它们提供了对单个数据点分类的更深入的了解，而不是顶级分数。\n",
    "\n",
    "下面是一些使用ConfusionMatrix可视化工具的示例；更多信息可以通过查看[scikit learn文档](http://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html)来找到。\n",
    "\n",
    "|可视化器|ConfusionMatrix|\n",
    "|-|-|\n",
    "|快速使用方法|confusion_matrix()|\n",
    "|模型|分类|\n",
    "|工作流程|模型评估|"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 2.1 基础使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.datasets import load_digits\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "from sklearn.linear_model import LogisticRegression\r\n",
    "from yellowbrick.classifier import ConfusionMatrix\r\n",
    "\r\n",
    "# We'll use the handwritten digits data set from scikit-learn.\r\n",
    "# Each feature of this dataset is an 8x8 pixel image of a handwritten number.\r\n",
    "# Digits.data converts these 64 pixels into a single array of features\r\n",
    "#我们将使用scikit learn中的手写数字数据集。\r\n",
    "#该数据集的每个特征都是手写数字的8x8像素图像。\r\n",
    "# Digits.data 将这64个像素转换为一个维度数组\r\n",
    "digits = load_digits()\r\n",
    "X = digits.data\r\n",
    "y = digits.target\r\n",
    "\r\n",
    "X_train, X_test, y_train, y_test = tts(X, y, test_size =0.2, random_state=11)\r\n",
    "X_test.shape,y_test.shape\r\n",
    "model = LogisticRegression(multi_class=\"auto\", solver=\"liblinear\")\r\n",
    "\r\n",
    "# The ConfusionMatrix visualizer taxes a model\r\n",
    "# 混淆矩阵分类号\r\n",
    "cm = ConfusionMatrix(model, classes=[0,1,2,3,4,5,6,7,8,9])\r\n",
    "\r\n",
    "# Fit fits the passed model. This is unnecessary if you pass the visualizer a pre-fitted model\r\n",
    "cm.fit(X_train, y_train)\r\n",
    "\r\n",
    "# To create the ConfusionMatrix, we need some test data. Score runs predict() on the data\r\n",
    "# and then creates the confusion_matrix from scikit-learn.\r\n",
    "#为了创建ConfusionMatrix，我们需要一些测试数据。对数据执行Score runs predict（）然后从scikit learn创建混淆矩阵。\r\n",
    "cm.score(X_test, y_test)\r\n",
    "\r\n",
    "# 图中显示的每一类的个数\r\n",
    "cm.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 2.2 用类名绘图\n",
    "可以使用label_encoder参数将类名添加到ConfusionMatrix图中。label_编码器可以是sklearn.preprocessing.LabelEncoder（或具有执行映射的反_变换方法的任何对象）或具有编码到字符串映射的dict，如下面的示例所示："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.datasets import load_iris\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "from sklearn.linear_model import LogisticRegression\r\n",
    "from yellowbrick.classifier import ConfusionMatrix\r\n",
    "\r\n",
    "iris = load_iris()\r\n",
    "X = iris.data\r\n",
    "y = iris.target\r\n",
    "classes = iris.target_names\r\n",
    "\r\n",
    "X_train, X_test, y_train, y_test = tts(X, y, test_size=0.2)\r\n",
    "\r\n",
    "model = LogisticRegression(multi_class=\"auto\", solver=\"liblinear\")\r\n",
    "\r\n",
    "# percent表示显示百分比\r\n",
    "iris_cm = ConfusionMatrix(\r\n",
    "    model, classes=classes,\r\n",
    "    label_encoder={0: 'setosa', 1: 'versicolor', 2: 'virginica'},percent =True\r\n",
    ")\r\n",
    "\r\n",
    "iris_cm.fit(X_train, y_train)\r\n",
    "iris_cm.score(X_test, y_test)\r\n",
    "\r\n",
    "iris_cm.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 2.3 快速方法\n",
    "上面的相同功能可以通过关联的快速方法来实现confusion_matrix。此方法将ConfusionMatrix使用关联的参数构建对象，将其拟合，然后（可选）立即显示它。在下面的示例中，我们可以看到如何LogisticRegression有效地对信用数据集建模（提示：请Rank2D检查多重共线性！）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from yellowbrick.datasets import load_credit\r\n",
    "from yellowbrick.classifier import confusion_matrix\r\n",
    "from sklearn.linear_model import LogisticRegression\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "\r\n",
    "#Load the classification dataset\r\n",
    "X, y = load_credit()\r\n",
    "\r\n",
    "#Create the train and test data\r\n",
    "X_train, X_test, y_train, y_test = tts(X, y, test_size=0.2)\r\n",
    "\r\n",
    "# Instantiate the visualizer with the classification model\r\n",
    "confusion_matrix(\r\n",
    "    LogisticRegression(),\r\n",
    "    X_train, y_train, X_test, y_test,\r\n",
    "    classes=['not_defaulted', 'defaulted']\r\n",
    ");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 3 ROCAUC\n",
    "ROCAUC(接受者操作特征/曲线下的面积)图允许用户可视化分类器的敏感性和特异性之间的权衡。接收器工作特性(ROC)是分类器预测质量的度量，它比较和可视化模型的灵敏度和特异度之间的权衡。\n",
    "绘制ROC曲线时，ROC曲线在Y轴上显示真标签的阳性率，在X轴上显示假标签的阳性率，同时显示全局平均和每个类别的假阳性率。\n",
    "因此，理想点是图的左上角：假阳性为0，真阳性为1。\n",
    "\n",
    "这就引出了另一个度量，曲线下面积(AUC)，它是假阳性和真阳性之间关系的计算。AUC越高，模型通常越好。然而，检查曲线的“陡度”也很重要，因为这描述了真实阳性率的最大化，同时使假阳性率最小化。\n",
    "\n",
    "关于ROC和AUC可以查看[https://segmentfault.com/a/1190000016686335](https://segmentfault.com/a/1190000016686335)\n",
    "\n",
    "|可视化器|ROCAUC|\n",
    "|-|-|\n",
    "|快速使用方法|roc_auc()|\n",
    "|模型|分类|\n",
    "|工作流程|模型评估|\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 3.1 基本使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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7/D1118zZ84cFi5cyPr164u87zfeeINZs2Yxb9481q9fnyshffDBB/Ts2ZO5c+fSo0cP5syZA8A//vEPHn/8ceLi4jCbzZw8ebLI+74ZSlUDvs2RhiVA1RxulieffJLKlStTv359n+9r/OJ44nYWvYsrs4M8L4Na1mXava2LtL0WLVpw5MgRrl69yrp161i1apVnXevWrWnRogWrV68mJCSE+vXr07ZtW8Bodhs3bhwmU/bzLbvdzqRJkzh27Bg2m42xY8eiaRq//PILCQkJhIeHe7YBxgFn165dmM1mXn01+/jT//73v6xYsQKXy0XXrl0ZM2YMe/fu5dVXX8VqtWIymZg1axbHjx/3LLNarcycOTPbvTIeeeQROnbsyKZNm0hKSuL999+nRo0aTJs2jd9++w2n08nDDz9MkyZN+Prrr6lYsSKVKlWiRYvcU9YkJyfz3HPPYbPZsNlsTJo0iatXr/LRRx9htVo5efIkffv25emnn2bDhg288847BAQEEB4ezr/+9S+2b9/OF198gdlsZu/evYwePZp169axb98+xo8fT69evfL9rqSUuFwuHn/8cZYuXUqXLl0K/X6//vprhg0bRrVq1QAIDQ3lv//9L2FhYdnKvf7667kmiZw1a5bn4otjx44RERFB9erVAejatSsbN27MVqs+cuQIAwYMAKBz584899xzPPnkk8THx/P2228D8Pe//73QmP2lVCUHU+mq6JQ669evZ+rUqcydO5eIiAg6d+5M586d/R3WTWO321m9ejVDhw7l2LFj1K9fP9cVVU2aNCExMZHg4GCaNGmSbV1QUFCubS5duhSr1cqXX37JmTNnGD58OCtWrKBz58707ds3W2LYsGEDp0+fZv78+WzdupVly5bRoUOHbNv76quvMJlM9OzZkxEjRrBgwQKGDh3KgAED+Omnnzh37ly2ZRs3buTcuXO5bqRUoUIFPv/8c6ZPn87KlStp1qwZBw4c4OuvvyY1NZX+/fuzcOFCT5x5JQaAjRs3UrVqVaZMmcKxY8dITEwkMDCQhIQEVq9ejcVi4a677mLIkCFcvnyZ6dOnU7t2bcaPH8+vv/5KaGgo+/btY/ny5WzdupUXX3yR1atXs3PnTubMmVNgcliyZAn9+vWjT58+vP32214Nvjx06BA9emSfRzRnYgCYOHFirmVZnTt3jooVK3qeV6xY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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\r\n",
    "from sklearn.model_selection import train_test_split\r\n",
    "\r\n",
    "from yellowbrick.classifier import ROCAUC\r\n",
    "from yellowbrick.datasets import load_spam\r\n",
    "\r\n",
    "# Load the classification dataset\r\n",
    "X, y = load_spam()\r\n",
    "\r\n",
    "# Create the training and test data\r\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)\r\n",
    "\r\n",
    "# Instantiate the visualizer with the classification model\r\n",
    "# 初始分类器\r\n",
    "model = LogisticRegression(multi_class=\"auto\", solver=\"liblinear\")\r\n",
    "# 绘制ROCAUC\r\n",
    "visualizer = ROCAUC(model, classes=[\"not_spam\", \"is_spam\"])\r\n",
    "\r\n",
    "visualizer.fit(X_train, y_train)        # Fit the training data to the visualizer\r\n",
    "visualizer.score(X_test, y_test)        # Evaluate the model on the test data\r\n",
    "visualizer.show();                       # Finalize and show the figure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 3.2 多类别ROCAUC曲线\n",
    "Yellowbrick的ROCAUC可视化工具允许绘制多类分类曲线。ROC曲线通常用于二值分类，而事实上Scikit-Learn roc_curve度量仅能对二值分类器进行度量。Yellowbrick通过对输出进行二进制化(每个类)或使用one vs-rest(micro score)或one vs-all(macro score)分类策略来解决这个问题。关于one vs-rest(micro score)或one vs-all(macro score)解释见[https://blog.csdn.net/u010551621/article/details/46907575](https://blog.csdn.net/u010551621/article/details/469075750)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import RidgeClassifier\r\n",
    "from sklearn.model_selection import train_test_split\r\n",
    "from sklearn.preprocessing import OrdinalEncoder, LabelEncoder\r\n",
    "\r\n",
    "from yellowbrick.classifier import ROCAUC\r\n",
    "from yellowbrick.datasets import load_game\r\n",
    "\r\n",
    "# Load multi-class classification dataset\r\n",
    "X, y = load_game()\r\n",
    "\r\n",
    "# Encode the non-numeric columns\r\n",
    "X = OrdinalEncoder().fit_transform(X)\r\n",
    "y = LabelEncoder().fit_transform(y)\r\n",
    "\r\n",
    "# Create the train and test data\r\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=42)\r\n",
    "\r\n",
    "# Instaniate the classification model and visualizer\r\n",
    "model = RidgeClassifier()\r\n",
    "# 多类\r\n",
    "visualizer = ROCAUC(model, classes=[\"win\", \"loss\", \"draw\"])\r\n",
    "\r\n",
    "visualizer.fit(X_train, y_train)        # Fit the training data to the visualizer\r\n",
    "visualizer.score(X_test, y_test)        # Evaluate the model on the test data\r\n",
    "visualizer.show();            # Finalize and render the figure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "默认情况下，在使用多类ROCAUC可视化工具时，除了每个类的微观和宏观平均曲线外，还绘制了每个类的曲线。这使用户可以按类别检查敏感性和特异性之间的权衡。请注意，对于multi-class ROCAUC，必须至少将micro，macro或per_class参数之一设置为True（默认情况下，所有参数都设置为True）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 3.3 快速方法\r\n",
    "上面的相同功能可以通过关联的快速方法来实现roc_auc。此方法将ROCAUC使用关联的参数构建对象，将其拟合，然后（可选）立即显示它"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from yellowbrick.classifier.rocauc import roc_auc\r\n",
    "from yellowbrick.datasets import load_credit\r\n",
    "from sklearn.linear_model import LogisticRegression\r\n",
    "from sklearn.model_selection import train_test_split\r\n",
    "\r\n",
    "#Load the classification dataset\r\n",
    "X, y = load_credit()\r\n",
    "\r\n",
    "#Create the train and test data\r\n",
    "X_train, X_test, y_train, y_test = train_test_split(X,y)\r\n",
    "\r\n",
    "# Instantiate the visualizer with the classification model\r\n",
    "model = LogisticRegression()\r\n",
    "roc_auc(model, X_train, y_train, X_test=X_test, y_test=y_test, classes=['not_defaulted', 'defaulted']);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 4 Precision-Recall曲线\n",
    "\n",
    "精确召回曲线是用来评估分类器质量的指标，特别是在分类非常不平衡的情况下。\n",
    "精度-召回曲线显示了精度(衡量结果相关性)和召回率(衡量返回多少相关结果)之间的权衡。\n",
    "曲线下面的大区域代表高-召回率和精确度，这是分类器的最佳情况，显示了为其选择的大多数类别返回准确结果的模型。\n",
    "关于 Precision-Recall具体可以参考[https://scikit-learn.org/stable/auto_examples/model_selection/plot_precision_recall.html]( https://scikit-learn.org/stable/auto_examples/model_selection/plot_precision_recall.html)\n",
    "\n",
    "|可视化器|PrecisionRecallCurve|\n",
    "|-|-|\n",
    "|快速使用方法|precision_recall_curve()|\n",
    "|模型|分类|\n",
    "|工作流程|模型评估|\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 4.1 二分类\r\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import RidgeClassifier\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "from yellowbrick.classifier import PrecisionRecallCurve\r\n",
    "from yellowbrick.datasets import load_spam\r\n",
    "\r\n",
    "# Load the dataset and split into train/test splits\r\n",
    "X, y = load_spam()\r\n",
    "\r\n",
    "X_train, X_test, y_train, y_test = tts(X, y, test_size=0.2, shuffle=True)\r\n",
    "\r\n",
    "# Create the visualizer, fit, score, and show it\r\n",
    "viz = PrecisionRecallCurve(RidgeClassifier())\r\n",
    "viz.fit(X_train, y_train)\r\n",
    "viz.score(X_test, y_test)\r\n",
    "viz.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "精确召回曲线的基本情况是二进制分类情况，这种情况也是最直观的解释。在上图中，我们可以看到y轴上的精度相对于x轴上的召回率。填充区域越大，分类器越强。红线表示平均精度，它是整个图的汇总，计算为在每个阈值处获得的精度的加权平均值，因此权重是与前一个阈值的召回率之差。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 4.2 多标签分类\n",
    "为了支持多标签分类，将估计器包装在OneVsRestClassifier中，以针对每个类生成二进制比较（例如，正例是该类，而负例是任何其他类）。然后，将Precision-Recall曲线计算为所有类别的精度和召回率的平均值："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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fPg/unXrRk5OuIRzu759GTX6l/z5tlsZNHgIvzhiFHPnfMJ1V1/N7XfexVV/nMiU+/9O3iabcNbpp3HEkZVH4A8+8A/OOuc8dsvP56UXX6C4eOnadc89M4127dpx95T7WLxoEScdP5bHn55GWVkZvbfZhjHjjuf8c8/h3Xfe4bDDj+Cww4+IxTpl8mQ6b9YZgOzsbLKysigtLSE3N1yK2q1bd4aP2J+DRwynrLyc35z8Wzp27MiCL7+kaOOZPPrIQ7Rr157zL7qYHj16rPffRUTWT6tKDqkc6ff8y711luk85gQ6jzkhpW0+O20qJ50dMiCTAAAKLklEQVQ8npycHIb/bATPP/sMx4wZy9B99qHgrTf58S670K5dW7bYcku+WriA/gMGADBk6FDWlJXF6iucPp2Txo0lkUjQsVNHLr/iyrXrdthxJwA+/N//ePONN5j2dOhuWrVqJd99+y3t2raj82abAXDLn25fp97hI/bnyomXc+DBh3DAgQex+eZd1677aOZM8vfYA4CuW2xB29y2a5PHbrvlA7DllluyYsXylNoEIFHl0tP5X3zBKy+9yJPPPMeaNWsYd+zRjDjgABIkyMvL446772HqU09x0/XXce2Nk1LejoikR6tKDk3t66++YsaH/+PG668lKyuLVatW0alTJ44ZM5Z99xvOQw/8g++++479hv8s/stZWdXWmTzmUFVubi4AbXLbcN4FF7LzLrusXbd06VLKE+U1xnrIoSMZNGgwr7z8EmeeNoFrb6jcAWdlZa1zH0HpmlKys8K1CjltKm88SyQSPP6vR6vtVuratStLliyhn4XB6QSJtWcNADNnzmDHnX5Mhw4dAOjbrx+ffDKbLl26sNvuITENGjyYe+6+s8b3ICJNR1crrYdnn5nG6KN+xYOPPsY/H/kXjz01leLiYr744nN+vPPOzJ07hzdff539RowAoMvmm/Pp3LmUlZXxTkFBg7e7w4478urLLwEwd84n/O2+KWy66aaUl5Wz6OuvSSQSnD7hFJYvW7b2d+76y59p06YNRxw5mv0POJC5c+esXbf9Djvy3rvvAvDVVwvJysqmU15etds+7PAjuOveKev82/MnAxk4aBAvPv88AK+/9iq777HnOr+39da9+GjmTMrLyyktLeWT2bPZaqutGTxkKAVvvQnARx/NpHfvbRrcLiLSeHTmsB6ee2Ya//fHq9a+zsrK4tCRP+e5Z57hxN+czI933gWfNYvu3UMf+imnns45Z51Bz55bsc2225KT3bDcPGr0L7nqiokcP+ZYysvKOe+CCwA4/+KLOffsswD42f77r7OD79a9O+NPOpG8vDzy8vI4+rgxvP7KKwDsf+CBFE5/j98cPzZckvqHS+sd04gDDuSdt9/m+OOOIbdtWy6/4o9AuFx2t933YOdddmHgoEEcf9yxQEgyPXr2ZMtu3bjqiomMO/ZocnLacMlllzeoTUSkcWVV7RtujgoLC3sDn9KlJ+SErhXK1tBn804tao6htwve4kc/6k2Pnj254vLLyN9997VX6tTHqlUrad++QxoibJ5KS0qYs2Q55MSPZYpmFTGg/4AMRNX8qC0qqS0iZaXwzZcA2+Tn58+rz6/qzKEJJRIJfnfm6Wy00cZ06dKF4VF3k4hIc6Pk0IQGDR7CoMFDMh2GiEidWu6AdFYWJaUbyANvNnAlpWtqvLpLRNKj5Z45ZOeweNn3ABvc1N1rSksp3UCebVDxsB/0sB+RJtWi96qrstuGh8C0gEH1xjR7zif07bNdpsNoGllZSgwiGdCikwOwQT4dbE15otord0REGkta9zBmNgkYCCSAM9z9vaR1w4ErgTJgmrtPTGcsIiKSurQNSJvZMKCvu+8FnADcUqXILcARwGBghJltn65YRESkftJ55rAf8DiAuxeZWWczy3P3ZWa2LfCtu38BYGbTovIf1VBX6Dsq09VJALnZWeHmFlFbJFFbVFJbRCr3mfXuf09ncugGJD/GbHG0bFn0/+KkdYuAPrXU1R2ApV83boQt1Habtq+463GDp7aopLaopLaI6Q7MqbNUkqYc1aztQvW6LmJ/DxgKLCSMUYiISN1yCInhvboKVpXO5LCAcIZQoQdh517dup7Rsmrl5+evBt5s7ABFRDYA9TpjqJDOO6SfB0YBmNluwAJ3Xw7g7vOAPDPrbWZtgEOi8iIi0gykdVZWM7sa2BsoByYAuwLF7v6Yme0NXBMVfdTdr09bICIiUi8tYspuERFpWi134j0REUkbJQcREYlplhP0aNqNSnW0xU+Bqwht4cCJ7l6ekUDTrLZ2SCpzFbCXu+/TxOE1qTo+E1sDDwBtgf+4+/jMRNk06miLCcAxhO/HdHc/MzNRNh0z2xF4Apjk7rdVWVevfWezO3PQtBuVUmiLO4FR7j4Y6AQc0MQhNokU2oHoc7B3U8fW1FJoixuAG9x9T6DMzHo1dYxNpba2MLM84FxgqLsPAbY3s4GZibRpmNnGwK3ASzUUqde+s9klB6pMuwF0jv7QJE+7ER0hV0y70VrV2BaRfHefH/28GOjSxPE1lbraAcJO8aKmDiwDavt+ZBNuFn0yWj/B3T/PVKBNoLbPRUn0r2N0ufxGwLcZibLprAYOopp7xhqy72yOyaHq1BoV025Ut24RFVNrtE61tQXuvgzAzLoDIwh/8Nao1nYws7HAa8C8Jo0qM2pri67AcmCSmb0ZdbO1ZjW2hbuvAi4H5gKfAf9294+bPMIm5O5r3H1lDavrve9sjsmhqvWZdqO1ib1fM9sCeAo4xd2/afqQMmJtO5jZZsA4wpnDhiirys89gZuBYcCuZnZwRqLKjOTPRR5wIdAP2Ab4iZntnKnAmqE6953NMTk02rQbrUBtbVHxBXgGuNjdW/Md5rW1w76EI+Y3gMeA3aJBytaqtrZYAnzm7nPcvYzQ97xDE8fXlGpriwHAXHdf4u4lhM9HfhPH15zUe9/ZHJODpt2oVGNbRG4gXJXwbCaCa0K1fSYecfft3X0g8AvCFTpnZS7UtKutLdYAc82sb1Q2n3AVW2tV2/djHjDAzDpEr3cHZjd5hM1EQ/adzfIOaU27UammtgCeA74D3k4q/g93v7PJg2wCtX0mksr0BqZsAJey1vb92A6YQjjw+xD4bWu9vBnqbIuTCV2Oa4ACdz8vc5Gmn5nlEw4YewOlwJeEixM+bci+s1kmBxERyazm2K0kIiIZpuQgIiIxSg4iIhKj5CAiIjFKDiIiEtMsZ2UVyYToUlhn3cuD2wAXuvvrjbSNKYTnob8IvOnuWzVGvSKNTclBZF2Lk++TiGaufNHMerq7rvuWDYaSg0gt3P2j6C7bzc3sLMJ0xx0IE/2d5+4JM7sY+DnhRqz73f02MxtCuOFoNWFG0FPc/T+ZeRci9acxB5FamNlIwmyW+wA93X1Y9KyE7YBDzGwoYSqCgcAQwjz5mwKbE+5O3pcwEd6FmYhfpKF05iCyrq5m9mr0cy/CdM+HAGcCeyWt24Qw22db4I1oorsyYCSAmX0FXG9m7aOy3zXVGxBpDEoOIutaO+ZgZkcApxMmbFsN3Fl1Phoz+x3Vn4HfD5zs7i+b2SHAOWmNWqSRqVtJpAbu/ijhiP9UwhVGh0czWmJmf4hmPy0A9jOzXDNrY2avRA9f2hKYaWY5wJFAu8y8C5GGUXIQqd0E4ALgfeAtoMDM3ibs/Oe6+9vAo4TnBbwJPO7uCwmD0S8THsQ0BdjazFr9A+6l9dCsrCIiEqMzBxERiVFyEBGRGCUHERGJUXIQEZEYJQcREYlRchARkRglBxERifl/PdtaQiqzn/IAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\r\n",
    "from sklearn.preprocessing import LabelEncoder, OrdinalEncoder\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "from yellowbrick.classifier import PrecisionRecallCurve\r\n",
    "from yellowbrick.datasets import load_game\r\n",
    "\r\n",
    "# Load dataset and encode categorical variables\r\n",
    "X, y = load_game()\r\n",
    "X = OrdinalEncoder().fit_transform(X)\r\n",
    "y = LabelEncoder().fit_transform(y)\r\n",
    "\r\n",
    "X_train, X_test, y_train, y_test = tts(X, y, test_size=0.2, shuffle=True)\r\n",
    "\r\n",
    "# Create the visualizer, fit, score, and show it\r\n",
    "viz = PrecisionRecallCurve(RandomForestClassifier(n_estimators=10))\r\n",
    "viz.fit(X_train, y_train)\r\n",
    "viz.score(X_test, y_test)\r\n",
    "viz.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "然而，可以计算出更复杂的精确召回曲线，单独显示每条曲线以及F1分数等参曲线（例如，显示不同F1分数的精确度和召回率之间的关系）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.naive_bayes import MultinomialNB\r\n",
    "from sklearn.preprocessing import LabelEncoder, OrdinalEncoder\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "from yellowbrick.classifier import PrecisionRecallCurve\r\n",
    "from yellowbrick.datasets import load_game\r\n",
    "\r\n",
    "# Load dataset and encode categorical variables\r\n",
    "X, y = load_game()\r\n",
    "X = OrdinalEncoder().fit_transform(X)\r\n",
    "encoder = LabelEncoder()\r\n",
    "y = encoder.fit_transform(y)\r\n",
    "\r\n",
    "X_train, X_test, y_train, y_test = tts(X, y, test_size=0.2, shuffle=True)\r\n",
    "\r\n",
    "# Create the visualizer, fit, score, and show it\r\n",
    "viz = PrecisionRecallCurve(\r\n",
    "    MultinomialNB(), per_class=True, iso_f1_curves=True,\r\n",
    "    fill_area=False, micro=False, classes=encoder.classes_\r\n",
    ")\r\n",
    "viz.fit(X_train, y_train)\r\n",
    "viz.score(X_test, y_test)\r\n",
    "viz.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 4.3 快速方法\n",
    "使用关联的快速方法，可以在一行中实现与上述类似的功能precision_recall_curve。此方法将实例化PrecisionRecallCurve可视化程序并将其适合于训练数据，然后将其在可选提供的测试数据（或未提供的训练数据）上评分。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.naive_bayes import MultinomialNB\r\n",
    "from sklearn.preprocessing import LabelEncoder, OrdinalEncoder\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "from yellowbrick.classifier import PrecisionRecallCurve\r\n",
    "from yellowbrick.datasets import load_game\r\n",
    "\r\n",
    "# Load dataset and encode categorical variables\r\n",
    "X, y = load_game()\r\n",
    "X = OrdinalEncoder().fit_transform(X)\r\n",
    "encoder = LabelEncoder()\r\n",
    "y = encoder.fit_transform(y)\r\n",
    "\r\n",
    "X_train, X_test, y_train, y_test = tts(X, y, test_size=0.2, shuffle=True)\r\n",
    "\r\n",
    "# Create the visualizer, fit, score, and show it\r\n",
    "viz = PrecisionRecallCurve(\r\n",
    "    MultinomialNB(), per_class=True, iso_f1_curves=True,\r\n",
    "    fill_area=False, micro=False, classes=encoder.classes_\r\n",
    ")\r\n",
    "viz.fit(X_train, y_train)\r\n",
    "viz.score(X_test, y_test)\r\n",
    "viz.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 5 类平衡\n",
    "分类模型面临的最大挑战之一是训练数据中类的不平衡。\n",
    "严重的类别失衡可能会被相对较好的F1和准确性分数所掩盖-分类器只是猜测多数类别，而不对代表不足的类别进行任何评估。有几种处理类不平衡的技术，如分层抽样、对多数类进行下采样、加权等。但是在采取这些操作之前，了解训练数据中的类平衡是很重要的。\n",
    "ClassBalance可视化工具通过创建每个类的支持条形图(即类在数据集中的表示频率)来支持这一点。\n",
    "\n",
    "\n",
    "\n",
    "|可视化器|ClassBalance|\n",
    "|-|-|\n",
    "|快速使用方法|class_balance()|\n",
    "|模型|分类|\n",
    "|工作流程|特征分析，目标分析，模型选择|"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 5.1 基本使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from yellowbrick.datasets import load_game\r\n",
    "from yellowbrick.target import ClassBalance\r\n",
    "\r\n",
    "# Load the classification dataset\r\n",
    "X, y = load_game()\r\n",
    "\r\n",
    "# Instantiate the visualizer\r\n",
    "visualizer = ClassBalance(labels=[\"draw\", \"loss\", \"win\"])\r\n",
    "\r\n",
    "visualizer.fit(y)        # Fit the data to the visualizer\r\n",
    "visualizer.show();       # Finalize and render the figure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "由此得到的数字使我们能够诊断平衡问题的严重性。在这个图中，我们可以看到“赢”类在其他两个类中占主导地位。一个潜在的解决方案可能是创建一个二进制分类器：“win”vs“not win”，并将“loss”和“draw”类组合成一个类。\n",
    "\n",
    "如果在评估过程中必须保持班级不平衡（例如，被分类的事件实际上与频率所暗示的一样罕见），则应使用分层抽样来创建训练和测试拆分。 这样可以确保测试数据的类别与培训数据的比例大致相同。 虽然scikit-learn默认在train_test_split和其他cv方法中执行此操作，但比较两个拆分中每个类的支持可能很有用。\n",
    "\n",
    "ClassBalance可视化器具有“比较”模式，可以将训练和测试数据传递到fit（），从而创建并排的条形图，而不是单个条形图，如下所示："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/model_selection/_split.py:752: FutureWarning: You should specify a value for 'n_splits' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.\n",
      "  warnings.warn(NSPLIT_WARNING, FutureWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.model_selection import TimeSeriesSplit\r\n",
    "\r\n",
    "from yellowbrick.datasets import load_occupancy\r\n",
    "from yellowbrick.target import ClassBalance\r\n",
    "\r\n",
    "# Load the classification dataset\r\n",
    "X, y = load_occupancy()\r\n",
    "\r\n",
    "# Create the training and test data\r\n",
    "tscv = TimeSeriesSplit()\r\n",
    "for train_index, test_index in tscv.split(X):\r\n",
    "    X_train, X_test = X.iloc[train_index], X.iloc[test_index]\r\n",
    "    y_train, y_test = y.iloc[train_index], y.iloc[test_index]\r\n",
    "\r\n",
    "# Instantiate the visualizer\r\n",
    "visualizer = ClassBalance(labels=[\"unoccupied\", \"occupied\"])\r\n",
    "\r\n",
    "visualizer.fit(y_train, y_test)        # Fit the data to the visualizer\r\n",
    "visualizer.show(); "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "该可视化使我们能够进行快速检查，以确保两个拆分中每个类的比例大致相似。这种可视化应该是第一站，尤其是当评估指标在不同拆分之间变化很大时。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 5.2 快速方法\r\n",
    "上面的相同功能可以通过关联的快速方法class_balance来实现。此方法将ClassBalance使用关联的参数构建对象，将其拟合，然后（可选）立即显示它。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from yellowbrick.datasets import load_game\r\n",
    "from yellowbrick.target import class_balance\r\n",
    "\r\n",
    "# Load the dataset\r\n",
    "X, y = load_game()\r\n",
    "\r\n",
    "# Use the quick method and immediately show the figure\r\n",
    "class_balance(y);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 6 类预测错误\n",
    "Yellowbrick的ClassPredictionError图是对其他分类模型诊断工具(比如混淆矩阵和分类报告)的扭曲。与分类报告一样，这个图以堆叠条形图的形式显示了拟合分类模型中每个类的支持度(训练样本的数量)。每个条被分割以显示每个类的预测比例(包括假阴性和假阳性，如混淆矩阵)。您可以使用ClassPredictionError来可视化您的分类器遇到了哪些特别困难的类，更重要的是，在每个类的基础上它给出了哪些不正确的答案。这通常可以使您更好地理解不同模型的优缺点以及数据集特有的特殊挑战。\n",
    "类预测误差图提供了一种快速了解分类器预测正确类的能力的方法。\n",
    "\n",
    "|可视化器|ClassPredictionError|\n",
    "|-|-|\n",
    "|快速使用方法|class_prediction_error()|\n",
    "|模型|分类|\n",
    "|工作流程|模型评估|"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 6.1 基础使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEYCAYAAABSnD3BAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XecXVW5//FPCGSA0KvUC1K+EYIoQ68BqfIDRJrAReoFFEG5IgpIR4pSpCkiJQEFIShSxStIkFBDRCWUJ4IiIEgvQnDS5vfHWoc5GWbm7JmcM6fk+3695jVn79ln72dOec46a6/9rCGdnZ2YmVnrmqveAZiZWW050ZuZtTgnejOzFudEb2bW4pzozcxanBO9mVmLm7ueB5c0BDgaOAiYJ8fzW+C4iHhX0mjg2Yg4o4YxjAZ2BN4EhgCdwC+BkyJixmzsd3ngxYgYIulrwNIRcWIf228AfBgRfymyfT9jeZ70v33Y7U/HRcTN1ThGL8fdALgJ+FNE7DQb++kEngOm51VzA/cBR0XEB7MdKLM+X1Xa32i6Xlfl9omIP1bjGH0cey/gNxHxXl4eAZwFfJr0+n4d+F5E3C5pJdJ7rKq5QNI1wNiIuE3SmcABwAnAlqX11Tye9a2uiR44GxgFbBcR/5Q0HLgQuF3S5oMYx4WlDxNJCwG/A14ELqvGziPikgKbHQiMB/5ScPv+2jcixtdgv33ZFhgXEftVYV+jIuIlAEltwC+A40nJo1FdWMtGSh9OBR4A3pO0HPAH4ETgixHRKWkj4FZJ+wKTaxFARHy5bHEvYL+IuAe4uhbHs77VLdFLWgw4CvhsRPwTICI+yK3ZbUgt0PLtNwIuAYYDM0mtubslzU1KyJsBQ4G/kFoPU3paX2rl9CYi3pM0hpSkLpM0jvSm+SJwMPAUcDGwAenxOz0irs4xHgScDLwH/Lws9lOA5SPiEEmfBEYDywJvA4cB6wNfBnaWtBSwUNn2KwI/BVYCpgHfj4hrckvsIVJL7X+AxYD/jYgb+vr/epJbzMfnx20NUuv5KmBf0nNBHzE8CNwArBMRW5Ttc3fg68Dcku6MiM9LOgo4nNRlGMAhEfF6bv2+BWydH8+xfcUbER2S7gJ2zsean5RAPgMMA34ZEcfkv40DbiU9fyuTkt4+OeH19nzNBZwO7JZXPQwckV+f44C7gF2AVYFTgEWB/ya9LneMiL/3FX+B/Rd9vZ0B7EF6r7yUYzgDEDBO0gE5zrsj4idlj99DknbJ9/mo+zbHdTHpeRhGangcFBHTJG0BXADMm493UkSM7WP9OOAKYAdgReCqHO++wBUR8TNJmwA/zI/fG/l5+VuOe2dgYWBiRBzb1+NpldWzj35D4KWIeKZ8ZUT8JyJui4iZ3ba/HPhBRIwgfRMotba3I72BRwCrAU8CG/Wxvoh5gI6y5XZgzYh4EDiP9IYeQXrznSpppKRFgYuA7SNiLVIi78nlwPURsSrwPeDaiLgMeBQ4NiLO72H7cREhUlfARTnBAiwBzMzH+wbpTT5QQyJCZd1Vy+flFwrE8KfyJA8QETeRPphvykl+Q+BbpJb5COAF0odUyeeA9SsleYD8WO9D+pAB+AqwIOk5WQc4QNKmZXfZifSBtTqwFbBxhedrT1KCagfWBBYhdTGWbE5qQBwIfJ/0Oh5BSsoHVYq/wP6LvN7WzPsZGRGrAzcDW0dE6fij8je4LYA7ugcQEQ/m57bcrvn/Ggl8KsexV/7bucDREbEGKQnvWmF96Tj7Av8kfaP8aWm9pAWB24Dj83vhQuDGsrtuCxzuJF8d9ey6WQx4tR/bf4bUvwhwP/DJfPt1Uit0V+C3pX5tSev3tL6S3KI+iFmT5p1lHzw7kZLDTOB1Sb8itb4eBf4aEU/n7cYAR3bb97ykPsrd86pbgLv7iGUeUoLaCyAi/iHpXlKy+j3p+St9Ff4jqeXUm59L6t5H/+mImJpv397tb7cXjGEeUpKpZEdS0n8tL19BeqOX3BMR/+nj/uMkTSe1NBcDzgfOyTGdJ+miiOgE3pb0JOn1UeqquikiPsz/z2TS47QgvT9fOwJjSv3/kq4GvknXa+K2iJgu6QlgftJ5CIAnmPU5+Lqk/+72f2xaYP9FXm9XAksC+0q6JSIu7uVxK/w+i4hfSrotIqYB0yRNoOt99hrwZUmv5sbZPhXWV7IZ6QPyd/nY10v6cf4GCzA5Iv5acF9WQT0T/RvAcv3Yfl/gqNwSGEru2omIRyUdSXqTjpF0G/DVPta/08O+y9+QU0hfLctblm+V3V4EuDEnHYD5gLGkN9S7Zdu93cNxFiN9i3o3x94JvN/H/7w4qaXdfb9L5dszyk5GziA9Lr2p1Ef/Vi/LRWLoszssWxJ4uZd99HT87kZFxEuSliD1K98QEdMBJK0GnJ9POs4AVmDWvuDy2EuPU1/P15LdlrvH+u+yfRER75ctlz8HPfbRS6q0/4qvt3xO64vAMcDFkv5AagG/2O1whd9nOa6LJa1D+hbxCVLXCqTGz3eBu3OD4bj8ra239ZUsAqwiqfwbfQfpsYfKrwfrh3om+oeBpSWtE2WjEHIL8hRSt0Zp3XKkPuINIuJP+Y390Umk/MK6Kff7X0XqIjiht/U9xNKfk2YvA1+IiEnlKyXtQOpTLFmSj3uT9K1kceCNPOpoFVKfeE/eAGZKWjQiSolhcfr3TWh2VSuGV/P9Sgb0f0TEG5IuInWZ7JJXXwpMJD0vMyQ9UGBXb9P781WVWPvQn/33+HoDiIh7gXvzIIZzSV2a+3bb7F7SuYAx5Ssl7Qz8h1lPxn6PdA5mrXwe5KPzFhHxKqnRdKSkbYFfSbqrt/V9/vdd/9fTEbFu9z9IWqvA/a0f6tZHn1vW3weukbQqfHRS7XLSCdopZZsvCXwAPJNPvh6at19A0oGSTsz7fAt4BujsbX0VQr+FdEIRSXNLuiC3gB5Lq7Ra3m7/Hv7nDuD/SCc9IZ1HuDO37KeRWjnl208nDTc9LB9vFVL/cK/dPdVWxRjuAL4oqZTgDqOHvuOCziP1s5fOCywFPJ6T/DakczILVNhHX8/X7cB/S5o/v94Ono1Ye9Kf/ff4epO0raRLJc2Vv9X9ma7X93S6Xks/BNaX9O18spV8EvQnfHy47VLAEznJrw1sAiwgaR5J4yQtk7ebSHq9Du1lfffzaz15BFhGaQgukj4p6drc+LEqq+sFUxFxCimx3yopSC+UV0l9kOX+DNxJan08ROrbfZg0lvoWoF3SXyU9TeqXP7+P9bPrRGDhHO+T5BE9EfE6qZ/1bkmTSKNKenIIsJOkv5H6ZEt9mjcD50jqHuPhwKj8Ffdm0kiV7l/Pi/i5pGe6/ZxV+W7ViSEiHiW1OO/P+1mEAQ6NjIh/532dmxPDGcB5+XHfgjS88NSc0HrbR1/P102k19tEYBJpqO1FA4m1F/3Zf4+vN9LoofmByfmcxF7ASfk+NwIPStozt7g3JQ1+eC6/F04H9oiI+7sd6zzg8LzNEaTH5xDgC6RzKvdIeor0vjsyd+f1tH4KFeRzJruTuoqeJr2uxuZGj1XZENejNzNrbS6BYGbW4pzozcxanBO9mVmLq3etm15NnDixDVgPeIU8XtnMWsZQYBlgQnt7e0eljW32NGyiJyX57qMCzKy1bEbXFcxWI42c6F8BWH311Rk2bNigHnjSpEmMHDlyUI9ZLY69Phx7/0ydOpXJkydDfp9bbTVyop8BMGzYMNra2gb94PU4ZrU49vpw7APibtlB4JOxZmYtzonezKzFOdGbmbU4J3ozsxbnRG9m1uKc6M3MWpwTvZlZi2vkcfRzlOuG7l21ffVWCL+/9plxfZX2ZGb15Ba9mVmLc6I3M2txTvRmZi3Oid7MrMU50ZuZtTgnejOzFudEb2bW4pzozcxanBO9mVmLc6I3M2txTvRmZi3OtW7MmtAzD1fvrTsceObh6uxrxIbTq7Mjqyq36M3MWpwTvZlZi3OiNzNrce6jt9nivmKzxucWvZlZi3OiNzNrcU70ZmYtzonezKzFOdGbmbU4J3ozsxbnRG9m1uKc6M3MWlxNL5iSNB8wCTgduAe4FhgKvALsFxEdtTy+mZnVvkX/XeCtfPs04NKI2Ax4Fjioxsc2MzNqmOgljQDWAO7Iq0YBt+bbtwFb1+rYZmbWpWLXjaQdgMUj4meSfg6sD3w7In5V4a7nAV8D9s/Lw8u6al4DlikS4KRJk4psVnUTJ06sy3EbSZHHYPggxDEQ9Xj+BvOYftytP4r00Z8E7JQT/lDgs8DtQK+JXtKXgYci4u+SetpkSNEAR44cSVtbW9HNq2LixIm0t7cP6jFjUI9WTJHHoFpFyKptsJ+/wX7NNPvj3tHRUbdG3JyoSNfNlIh4A9gRuDYi3gdmVLjPjsAukh4GDgFOBN7PJ2cBlgNeHmDMZmbWD0Va9PNK+hawPXCMpNWAhfu6Q0TsVbot6RTgeWBjYDfgZ/n3XQML2czM+qNIi/5QUgv8wIj4D7Ad8J0BHOtkYH9J9wOLAWMGsA8zM+unIi36ycB5EfGipE8D7wIPFj1ARJxStrhN/8IzM7PZVaRFPwbYQNJypBOwawGjaxmUmZlVT5FEv1xE3ATsBfwoIo4ldb2YmVkTKNJ10yZpCLArcHBet2DtQpozrTbf2HqH0IPr6x2AmVVBkRb9OFK//CsRMVnSN4BnahqVmZlVTcVEHxHfAVaMiD3zqluAn9Y0KjMzq5oiJRAWAvaRtERe1QYcCCxby8DMzKw6inTd3AB8mpTcFwT+H/CVWgZlZmbVUyTRzxsRhwP/iIhvAVsCe1a4j5mZNYgiib5N0nBgLkmLR8RbwCo1jsvMzKqkyPDKa4D/Aa4Anpb0OmniEDMzawIVE31EXFa6LekeYKmIeLymUVnT+OMme9Q7hB6NqFRf1WwO0muil3RaH3/bNSJOqk1IZmZWTX216N0mMjNrAb0m+og4FUDSUGDjiLg/L+9E1zywZmbW4IqMurkM+HzZ8ijgyppEY2ZmVVck0a8eEceVFiLim8DKtQvJzMyqqUiin0/SR2WJJS0LzFu7kMzMrJqKjKM/DXhS0gvAUFKNm4P7vouZmTWKIuPob5f0SWANoBN4JiKm1DyyAXjm4SKfW5UNB555uCq7YsSG06uzIzOzASqUGSPiQ2BijWMxM7MaqE4T2MysToZ+89qhVL/+1nMzztuvZa4lcqI3s2a3ChBV3qeAyVXeZ9fOpeeBkRHxfq2OUa6vEgh9ljiIiF5LJNicozHnugXPd2vWpa8W/Tz592r55w+kUTdbAC5qZmZzrDzz3nWksRvzA0cCNwJjgK2AqcBuwBeA7YGFgOWBCyLi6rL9LEu6AHUYqezMIRHxQrXj7XUcfUScGBEn5n9i/Yg4OiKOAtbNQZuZzak+AVwREVsCxwHfzuufjojNgD8B++d1awI7kz4AzpBUnndPB86LiM8BPwROrEWwRfroVwSGlC13Av9Vi2DMzJrEq8CJko4hzaP9QV5/d/79ECmxPwrcFxHTgTckvQ0sUbafjQFJ+i6px+T1WgRbJNHfAUyWNBGYCawD/LoWwcyuRqyNXrQu+pN3HVPbQAZgvXoHUGPVuu4CfO3FHOgbwD8jYj9J6wLn5vWl1voQUqO4fF339ZC6ePaIiFdqGWzFEggRcQKwHens1o3ALnnuWDOzOdUSwHP59q6kPnaAzfLvjYCnSrclDZW0BLAg8GbZfh4h9eMjaStJ+9Qi2IpNGkltwLbAChHxHUkbSJo3Iv5Ti4DMzPrpOdJwyGrvsy/XANdI2gO4BNib1Fpvl/RVUqv9ZNIJ2eeBscCqwAkRMVP6KNxTgKsl7Z3vc0BV/4usyHfXHwHvApvk5XWAo4Ev1SIgM7P+yBc21WzMe08iYgLwqbJVt+ax8WeWj43PCf25iDim2/1XyjffJ/WY1FSRRD8iIjaRdC9ARPw4f/o0nKn3+RyxmVl3RRJ96cxQJ4Ck4cB8le4kaX5gNLA0qazx6cCfgWtJZ5dfAfaLiI5+R21m1mDKWunl60YPfiQfV6Qe/VhJ9wCflHQRaXzodQXutxPwWERsAewJnE8qeXxpHmf6LHDQwMI2M7OiipQpvkTSI6QpBDuAL0VExUqWEXFD2eIKwEt5H4fndbcBxwA/7l/IZmbWH0VG3YyOiAOACWXrfhsRhU4gSHqQdOnv/wPuLuuqeQ1YptL9J02aVOQwDWvixOat7tzqsUcDXncB8MGjlWMfPghxDEQzv2ZaWV9FzfYltb5HSvpD2Z+GkfrdC4mIjSV9BvgZs15hO6SXu8xi5MiRtLW1FTrWE+Mbr8BWe3t7oe2aNfYJFbeojyKxV7vcYbUUib1aF2dVW9HXe0dHR9UacaPHf6cmZYoP2PTs1i9THBE/lzQO+DlpPGjJTODJSjuW1A68FhEvRsSfJM0N/FvSfHkik+WAl2crejOzOpUplnQAqdTwMXl5e2DliOizO1rSL4ADcx4cFH2ejI2If5K6XJaOiPsi4j5SgZ6pBfa9OfBNAElLAwuQ6kDslv++G3DXAOM2M2soEXFXpSSft/vSYCZ5KDa8cgxwX9ny/KQhkrtWuN9lwJWS7icNxzwCeIx0NdlhwD/yvqvm4JvXrObuquKATesdgZnVmqSzSIXNFiFVtrw4Ih6RdBfp3OS5ko4j9WKcyiBOOgLFEv1iEXFRaSEizpe0U6U75U+snuo2bNOP+MzMGloug7ACqcdiEVLDeENJj5FqzJfqA24CfJWU6AdVkXH0bZI+utQ3970P62N7M7M5xZrAOcAhZevuAzYE1iJN0jSfpCHAJ2oxqUgRRVr0RwO3SFqYrnrJX65pVGZmzWEl0uCU3UsrImKypBVJLfgHSa38HUiVAeqiyAVTjwCrS1oc6IyIt2oflplZU7iD1KIfD1xVtv4FUvnhvYDFSPXrrxn06LK+xtEfFxFnSbqWskL5pfKaEeFWvZk1gnqUKf5IRLwu6WRSpd9Ssr8P+HpEvCXpYVKSr1vJl75a9H/Mv+/uYxszs7rKFzYNaplimLVgWUT8AvhF2fJlpJGHRMSzlJ0P7an4Wa31leifzv1M9w5WMGZmVn19JfoHSF02Q4BlSZOPzE0qs/E3YLWaR2dmZrOt1+GVEbFCRKwI/BJYNyIWi4iFSLOW/2awAjQzs9lTZBz9OhHxeGkhj8JZo3YhmZlZNRUZRz8zX947nlTQbGPSjFFmZtYEiiT6PYGvA4eR+uufyuvMzOpuwgJz16RM8XrvT2/9MsUlEfGapPNJ5TcfkzRXRMwchNjMzIqoS5niZlKxj17S3sDDpIm+AS6WdHAtgzIzs+op0nXzv8DapEt9Ic3zOg64skYxmZk1vDzxyPbAQqTpUi8AngXOBKYBLwL/Qzq3OSZvMxw4JSJuzxM7TQKIiK/VMtYio27ejYgppYVcfrjIxCNmZq1uTWBnYCvgDOAiYJeI2Ap4FdiDVOvm/yJiC9L5zfIyxZNqneShWIv+DUn7k0ptrkMq0vN6bcMyM2sK90XEdFKefI/Ut/+rXBNsOPAG8DawnqRDSa37xcvu/+hgBFkk0R9O+qRaELgCuJ9Zay+bmc2pyntFZgKvRMSo8g1yQ3kxYLP8+7GyPw9K70iRRL/RYHy1MDNrQhtJGgosSmoMd0haIyKeknQkqYrlEsDfI2KmpC9Sh4mbCp2MlfS7/PXEzKzR1LNM8fPAWGBV4ATg78DVkqaS5oe9HHgPuFXShqQyxi9JOqnK8fapSKJ/B3hK0h8p+5rhevRm1gjyhU31GvP+XEQc023dBt2Wnwc+Xbb88/z7tFoF1V2RRH97/jEzsyZU5MrYMZJGkgqZdQJ/iYhqX4VmZtZUyiceaXRFroz9AXAzaf7D3YA7JZ1e68DMzKw6inTdbAWsERHTACS1kWY2P7GWgZmZWXUUuTL2X0D5iJuppJMLZmbWBApdGQtMkPR70gfD5sDfJJ0GEBGDOkzIzKzcdUP3rkmZ4n1mXD/nlCkmzQ/7t7LlO3rb0MysDupSpjgXNRvZw/DKhlNk1M2plbYxM7PGVaRFb2ZmPVtZ0p3ACqQyxR3AkcAM4MmIODS3/DcFliR9U/hBRFwpad/Z2bY/QRY5GWtmZj1bHdgFGEW60nUBYPuI2AQYIWmtvN1awBdJw9SPzOuGV2HbQnpN9JIuKf9tZmYfMz4ipkXEm6SaNm8Ct0i6D/gUXSWJH4qIGcBLwMJ53VtV2LaQvrputpV0PTBK0kLd/1ik1o2k75NKc84NnAVMAK4FhgKvAPtFREd/AjYzayCd3ZavB1aIiH9JKi8dUz5EfYikYcClwNqzuW0hfSX6HYCNgc8A9/R3x5K2JJ2R3kjS4sDjeT+XRsRYSWcCBwE/7u++zcwaRKlM8WKkfvrXcjJeAViX3ksSLwhMr8G2Peo10UfEc8Bzkh6MiOckLQZ0RsTbBff9B7pmT3mH1Mc0ijSRCcBtpPlnnejNbHbUs0zxM3SVKf4KsLWkCcCfge+TTtD+sPudIuJNSb+bnW0lfaZUsaCSIZ2d3b95zErSJsA1pE+VuUgXUP13RDzW5x1n3cehpC6c7SJiqbxuFeDaiNi4p/tMnDhxJVJt58LWv+6p/mw+KB7dZ41C2z3x4dgaR9J/a823R8VtZm7RvSJrY5jrvkcqbhPrnzsIkfSfHq08LHv4tMZ83D+Yp/Lj3s3K7e3tz9cgFCtTZHjlWaTJbicBSPoscCHpCtmKJO0CHAxsC/y17E9Ditx/5MiRtLW1FdkUGjDRt7e3F9ruifGNl+iLxD5hEOIYiCKxN2oJ1iKxP/PwIAQyAEVf7x0dHUyaNKnG0VhJkeGVM0pJHiAiHmfWkwW9krQdadaVHSLiXeB9SfPlPy9HmoHFzMxqqEiLvjTP4d15eXvSoP0+SVoY+AGwdUS8lVffTSp1/LP8+65+R2xmZv1SJNEfDlwMXEma5fxhuk6o9mUv0qS4N0ofnSfZH7hC0mHAP4Ax/Q3YzMz6p0itm7+SWvH9EhGXkybG7W6b/u7LzMwGzrVuzKypPfPw3DUpUzxiw+lzVJliM7NGVpcyxc2kyJyxnx2MQMzMrDaKtOjPI80ba2ZmgKR5SOcgPwm0ASeR6tHcCbwG3J6Xp5EGsewBLEQagPIcsDbweEQcIunTef07wGPAkhFxgKQjgH3y/X8dEecNNN4iif4FSeNIo22mllZ6CkEzm4PtDfwnIraQtCwwDpgH+E1E3CVpG+DIiHg8T7u6L6nsSztpROJrwEuSFgFOBk6LiJsl3QhMkbQysDupNj3AA5LGRsQLAwm2yAVTfwfuBT4kjZ8v/ZiZzanWJSV3IuJl0oQji9FV3+tV4MxcVnhvusoKPxsR/4qImaQLRhcmlR1+IP/91vx7fWA1Uu69l1SCZqWBBltoKsFcfXLliHhM0lw5SDOzOVUns5ZxGUbqYin1elwInJNb98eQJiSBj1cVGJJ/Sjm1VHxsKnBHRBxWjWCLnIz9EqnbZnRedbGkg6pxcDOzJjUB2BIglw6eSepjL1mCVP23Dfg8fZcVfo70DQFSeXiAicCWkuaXNETShWXlY/qtSB/9N0knDu7Iy8eQvrJcNdCDmplVUT3KFP+CNCnTvaQkfhipym/JxcCv834uBi4BbuhlX2eQKgYcDTwJLBwRL0j6Ianc+wzSydgPB/rPFEn070bElFIZg4j4UNLUCvcxMxsU+cKmQR3zHhHTgUO6rV6p7O/dKwPcnH+vW7bNugCSPgHsExF/kXQcqRQ8EfEj4EfViLdIon9D0v7AfJLWIZ0xfr0aBzczMzqAKyV9CEwhDamsqqJFzc4gnfW9AhjPxz/JzMxsAHLp9/VqeYwio27eAb4maUnSVIJv1DIgMzOrroqJXtJepKFCnaQZyaeTLgS4ue97mplZIyjSdfNdYJM8WTiSVgd+SdfJBTMza2BFrox9uZTkASJiMsVnSDczszrrtUUvqVTI7GlJFwO/I10U8DlmneTbzMwaWF9dNyd2Wx5ZdrsTMzNrCr0m+ojYcjADMTOz2igy6mZr4KukKmsfFfGJCNeoNzNrAkVG3fyYdMHUSzWOxczMaqBIop8cEWNqHomZmdVEkUT/U0lXAA9SVks5Iq7p/S5mZtYoiiT644EPSPMilnQya0lOMzNrUEUS/VSPwDEza15FEv2tkrYkzWlY3nXj6QTNzJpAkUR/IjC827pOYGj1wzGzIv64yR71DqFHI2bUOwLrSZEyxQsORiBmZlYbRS6YOq2n9RFxUvXDMTOzaitSvXJG2c9Q0sznC9cyKDMzq54iXTenli9LGkqqR2/W1Fabb2y9Q+jF9RW3aObYbfAVORnb3TzAqkU2lDQSuAW4ICIukbQCcC3pm8ErwH4R0TGAGMzMrKAiffQv0lWWeAiwKDC6wP2GAxcD95StPg24NCLGSjoTOIhUS8fMzGqkSIt+07LbncB7ecLwSjqAzwPfLls3Cjg8374NOAYnejOzmiqS6F8FtgMWI5cplkREXNXXnSJiOjBdUvnq4WVdNa8By1Q6+KRJkwqE2LgmTpxY7xAGrNVjf/KuYwYhkv6bq8Ufdxt8RRL9XaQpBP9Rtq4T6DPRFzCk8iYwcuRI2traKm8IcN1TsxNPTbS3txfa7onxjXdyrUjsEwYhjoEoEnsjPubQ+o87QEdHR9M34ppJkUQ/LCI2rtLx3pc0X0R8CCwHvFyl/ZqZWS+KjKN/UtLiVTre3cBu+fZupG8LZmZWQ0Va9MsDz0p6mlmLmm3e150ktQPnASsB0yTtDuwLjJZ0GKkryBOamJnVWJFEf/ZAdhwRE0mjbLrbZiD7MzOzgSlyZex9gxGImZnVRpE+ejMza2IDKYFg9pFGHYu+Xr0DMGsgbtGbmbU4J3ozsxbnRG9m1uLcR29zrINvXrPeIfTogE0rb2PWH27Rm5m1OCd6M7MW50RvZtbinOjNzFqcE72ZWYtzojcza3FO9GZmLc6J3sysxTnRm5m1OCd6M7MW50RvZtbinOjNzFqcE72ZWYtzojcza3FO9GZmLc6J3sysxTnRm5m1OCd6M7MW50RvZtbinOjNzFqcE72ZWYtzojcza3FO9GZmLW7uegdgZv234WFX1zuEHs2odwDWo0FP9JIFVzI9AAALD0lEQVQuADYEOoGvR8SEwY7BzGxOMqhdN5K2AFaLiI2Ag4GLBvP4ZmZzosFu0X8O+DVARDwtaVFJC0XEez1sOxRg6tSphXe+zPB5qhJkNXV0dBTabp4h89c4kv4rEnsjxg3FYm/E1wu0fuwwy/t6aM2CsY8M6ezsHLSDSbocuCMibsnL9wMHR8Tk7ttOnDhxU+D+QQvOzOphs/b29vH1DqLV1ftk7JA+/jYB2Ax4BZ/jMWs1Q4FlSO9zq7HBTvQvA58oW16WlMg/pr29vQPwJ71Z63qu3gHMKQZ7HP3/AbsDSFoHeDki/j3IMZiZzVEGtY8eQNLZwObATOCIiPjzoAZgZjaHGfREb2Zmg8slEMzMWpwTvZlZi3OiNzNrcU70TUxSW/49f08/9Y6vCEktVQZDUlNc6SlpeUmb5ttt9Y7HaqveF0w1DEnLAycBi0bEHpK+BDwUEf+oc2h9uRrYB3iSVCSu/AK0TuCT9Qiqn4ZIOhR4FPjouviIeKp+IRUnaU1g8bw4DLgAWKt+EVUm6WjSMOcFgLWBcyS9EhHn1DcyqxUn+i5XABcC38nLrwGjgS3rFVAlEbFPvnky8PuIeKme8QzQyPyzd9m6TmCr+oRTnKTLgE8BI0gfVOsCzZAsvxARm0i6Ny8fDTxIc8RuA+BE32VoRPxG0rEAEfF7SSfXO6iClgV+LGlp4M/AvcC9EdHjVceNJCI+9kEq6cR6xDIAa0bEZpLGRcROklYAmiH2UvdSaWz1vDgXtDQ/uV2mSdoKGJoT5q7Ah3WOqZCIOLt0W9IOwDeAa2iC51fS54HTgMXyqmHAS8DpdQuquLklLQQgacmIeFHS2vUOqoDrJP0eWE3Sj0nfWi+sc0xWQw2fCAbRwaTksgTwW+Bh4MC6RlSQpP8F1gPmA14gJfmv1jWo4k4B9gDGkD5cdwOapSzGxcCe+fcTkqYBd9c3pMoi4keS7gTWBzqAMyPixTqHZTU0x18Z28volCHkr7URMWVwI+o/Sb8hVfh8HHgAeDgi3qlvVMVIujcitpQ0PiJKo0B+FxHb1Du2/pA0D7BgRLxV71gqkXRVD6tnkIqMXdYsrx0rzi36j49YKX3ylZJ9w49ciYgdJM1FGu2xMXC0pOUjYs06h1bEPyXtBzwu6WfA34Gl6hxTIZIOBI4CFiK/fiQREY3+mnkD+C/gVtJrfAeg9AF1HfD5OsVlNTLHJ/qIWLl0W9IQUtdNJ/BmRDTF1x1J65Hm4d0IWJHUffOrugZV3P6k/vnrSUNFlwB2rmtExX2L1N3UbKOd2iPic2XL10n6TW4w7FC3qKxm5vhEXyJpf+AM4G1S62xBScdHxHX1jayQo4BxwEkR8WydY+mvIcDWwHIRca6ktUjzFjSDyRER9Q5iABaVtDNpSOVM0rDQ5SWNJJ3nsRbjRN/laOAzEfEmgKQlSCfWGjbRSzosIn4C/AtQWqXSnzsj4tt1C664n5KuWRgFnAtsARzPrOPqG9Xrkh4CHgKml1ZGxLH1C6mQ/UnXXpxF+qB9FjgEGA4cWse4rEac6Lv8k65+SoA3afwZcJ7Pv98BXqTrPMPSwLFAMyT6FSLiwNLFOxFxiaQ96h1UQeP5+CxoDf+eiognJB0ELMKsAw9eqGtgVjMN/6IcRO8Bf5J0H+mCkg2B5yV9HxqzlRYRv803h5O6Pw4hDVU8CDiiXnH10zBJi5CTjaRPAU1ReyUixnQrgdAGnA9cWb+oKpP0U9IJ2FIXWSnZr1+3oKymnOi73JV/Sh6tVyD9FRHHS9odeIo0imiTUhdUEzgeuIfU7fRXUp9xs1y/0L0EQjvw/boGVcxnSd+kmmKwgc0+J/ouNwMHAKuTWjdPAddExAf1DKovkn5A13BQgMnAasC38zC/hvsW0oNVSV1NL5CS/ILASqQThY2uWUsg/Jk0uun1egdig8OJvssvgT+R6sQMIQ1VvBnYtp5BVTCp2/KTdYli9nwDWLuZToKXadYSCKsAz0l6lnQSeQjp5L27blqUE32Xtoj4VtnyTZIa+nL2iBhT7xiqoBlPgpc0ZQkE0qib7hYa9Chs0MzxJRBKJJ1C6q65mzQhy2akPtczoTlKITQjSdcDawD3kR73jUijiZ6DxjwJ3pMmK4GwCLAvs9bR3z8iVqhfVFZLbtF32Z9Z+7shfaXdlyYphdCkup8En1CvQPqriUsgjCWdA/kScDnp2oWv1TUiqykn+i57ksadl7dylo6IVesXUutr8u6nZi2BMFdEnCxpi4g4T9IlwA3ALfUOzGrDib7LRaShfmeTSvzuSipVbNabZi2BMCyfNJ4iaRvgb6TRT9ainOi7TImIeyVNjYiJwERJdwG31zswa1jNWgLhCFKF0G+TJhxZHE880tKc6LtMyYWe/i7pTNLJwBXrHJM1tqYsgQDsGBFn5dsNPzevzb5meFEOln2AT5BOSn0DWBv4cl0jsobWrCUQgKUkbUu6mndqaaVHlrUuJ/osIv5N1xR2p9UzFmsOTVwCYUdgF9I8ADNJRfHAI8ta1lz1DsCsia0ZEVsAT0fETsAGpGsCGt0RwDRS2YnXgP/gb68tzYnebOA+VgKB1OXX6E4FRkXEpyNiBLAdqTa9tSgnerOBuxjYK/9+SdKLNEe9oakR8UppIX9ATatjPFZj7qM3G7g24CTgXdIsTSvQHLVu/ibpUtL0k0OALWme+kI2AE70ZgNXqrz5FqTuG+B3NH7lzUNJUzVuSirvMR74RV0jsppyojcbuJfoGrEC8AZN0DKOiOnAtfnH5gBO9Gb9VDbhy4fA45LG5+WNgGfqGZtZT5zozfqvNOFL9xOvTVN50+YsrkdvZtbiPLzSzKzFOdGbmbU4J3qrCknLShpQJURJo/IJzapua2aJE71Vy5a45K1ZQ/KoG+uRpLmAy0iVGduARyLiqPy3g4GvkC6bvxf4KfA9YIikt0hzqM4dEd/N2z8PbA28AlxDqpq4IDA2Is7pI4bV8r7nIhXeOrDb3zcFzgE6gPmBr0bEHyXtBRwDfEC68vNAUvGu64BFgXmA2yLiewN+gMyaiFv01ptFgb9ExOYRsQGwraSRkv4LOAHYLCI2ApYlza87Grg2Is7vY59LAb+OiC2BTYDjS0XBenEZ8IOI2By4Ctij29+XAL4SEVuRZkg6Pq8/HvhaRIwCjgWWA7YB5omIzYCNgffzh5lZy3OL3nrzDrBCniqvA1iGlFhHABMj4kOAiDgAQFKRfb4GbCbpK6QJL+Ylte57swGpHgsR8Yt8nFFlf/8XcK6keYGFgbfz+tHAaEm/BH4VEY9IWgo4TdKNwJ3AFRExs0jQZs3OLRrrzZeA9Ugt91HAX/P6Tiq/brpfnDEs//4GqRtok7zPf9O3Sse6Fjg7t/hPKK2MiAuAUsw/kXRYRLxGKiF8Ialm/GOS5qtwfLOW4ERvvVkaiIiYLqkdWJWUpCcA65fVYb8x/30mqe8b4D1SJUfyVHtLle3zqYjozPPzzp/32ZsHge3zfvbKc/l2j/FJSUNJ3TptkoZKOht4NyLGAKcAG+ap83aMiAfy5N3vl8Vl1tJ8Zaz1SNIKwG2kErwPAFOA/YANgS8ChwHTgfERcaykLYEbgJ/knzvzfR8jjcbZDVgAuJ50UvYWYCTwWdKJ0zMiYtNuMawGXE46oToNOAhYpbStpBNIc/3+A/gBqYV/LqlLch+6unKOIiX2McBQYAbwQEScgNkcwInezKzFuevGzKzFOdGbmbU4J3ozsxbnRG9m1uKc6M3MWpwTvZlZi3OiNzNrcf8f0Wm8JBINwzQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.datasets import make_classification\r\n",
    "from sklearn.model_selection import train_test_split\r\n",
    "from sklearn.ensemble import RandomForestClassifier\r\n",
    "from yellowbrick.classifier import ClassPredictionError\r\n",
    "\r\n",
    "\r\n",
    "# Create classification dataset\r\n",
    "X, y = make_classification(\r\n",
    "    n_samples=1000, n_classes=5, n_informative=3, n_clusters_per_class=1,\r\n",
    "    random_state=36,\r\n",
    ")\r\n",
    "\r\n",
    "classes = [\"apple\", \"kiwi\", \"pear\", \"banana\", \"orange\"]\r\n",
    "\r\n",
    "# Perform 80/20 training/test split\r\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20,\r\n",
    "                                                    random_state=42)\r\n",
    "# Instantiate the classification model and visualizer\r\n",
    "visualizer = ClassPredictionError(\r\n",
    "    RandomForestClassifier(random_state=42, n_estimators=10), classes=classes\r\n",
    ")\r\n",
    "\r\n",
    "# Fit the training data to the visualizer\r\n",
    "visualizer.fit(X_train, y_train)\r\n",
    "\r\n",
    "# Evaluate the model on the test data\r\n",
    "visualizer.score(X_test, y_test)\r\n",
    "\r\n",
    "# Draw visualization\r\n",
    "visualizer.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "在上面的例子中，虽然RandomForestClassifier似乎很擅长根据水果的特征正确地预测苹果，但它经常错误地将梨标记为猕猴桃，而将猕猴桃错误地标记为香蕉。\r\n",
    "\r\n",
    "相比之下，在下面的例子中，RandomForestClassifier在正确预测默认情况下的账户方面做得很好，但在预测账户持有人是否保持了账单的流动方面，就有点像抛硬币一样困难。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\r\n",
    "from yellowbrick.classifier import ClassPredictionError\r\n",
    "from yellowbrick.datasets import load_credit\r\n",
    "\r\n",
    "X, y = load_credit()\r\n",
    "\r\n",
    "classes = ['account in default', 'current with bills']\r\n",
    "\r\n",
    "# Perform 80/20 training/test split\r\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20,\r\n",
    "                                                    random_state=42)\r\n",
    "\r\n",
    "# Instantiate the classification model and visualizer\r\n",
    "visualizer = ClassPredictionError(\r\n",
    "    RandomForestClassifier(n_estimators=10), classes=classes\r\n",
    ")\r\n",
    "\r\n",
    "# Fit the training data to the visualizer\r\n",
    "visualizer.fit(X_train, y_train)\r\n",
    "\r\n",
    "# Evaluate the model on the test data\r\n",
    "visualizer.score(X_test, y_test)\r\n",
    "\r\n",
    "# Draw visualization\r\n",
    "visualizer.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 6.2 快速方法\r\n",
    "使用关联的快速方法，可以在一行中实现与上述类似的功能class_prediction_error。此方法将实例化ClassPredictionError可视化程序并将其适合于训练数据，然后将其在可选提供的测试数据（或未提供的训练数据）上评分。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/svm/base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  \"the number of iterations.\", ConvergenceWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import LinearSVC\r\n",
    "from sklearn.model_selection import train_test_split as tts\r\n",
    "from yellowbrick.classifier import class_prediction_error\r\n",
    "from yellowbrick.datasets import load_occupancy\r\n",
    "\r\n",
    "# Load the dataset and split into train/test splits\r\n",
    "X, y = load_occupancy()\r\n",
    "X_train, X_test, y_train, y_test = tts(\r\n",
    "    X, y, test_size=0.2, shuffle=True\r\n",
    ")\r\n",
    "\r\n",
    "class_prediction_error(\r\n",
    "    LinearSVC(random_state=42),\r\n",
    "    X_train, y_train, X_test, y_test,\r\n",
    "    classes=[\"vacant\", \"occupied\"]\r\n",
    ");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 7 辨别阈值\n",
    "相对于二分类器的识别阈值，对精度、召回率、f1得分和队列率进行可视化。辨别阈值是选择正类而不是负类的概率或得分。通常，这个值设置为50%，但是可以调整阈值，以增加或减少对误报或其他应用因素的敏感性。(该可视化工具仅适用于二进制分类。)\n",
    "\n",
    "|可视化器|discriminationThreshold|\n",
    "|-|-|\n",
    "|快速使用方法|discrimination_threshold()|\n",
    "|模型|分类|\n",
    "|工作流程|模型评估|"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 7.1 判别阈值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/svm/base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  \"the number of iterations.\", ConvergenceWarning)\n",
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/svm/base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  \"the number of iterations.\", ConvergenceWarning)\n",
      "/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/sklearn/svm/base.py:922: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
      "  \"the number of iterations.\", ConvergenceWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\r\n",
    "\r\n",
    "from yellowbrick.classifier import DiscriminationThreshold\r\n",
    "from yellowbrick.datasets import load_spam\r\n",
    "\r\n",
    "# Load a binary classification dataset\r\n",
    "X, y = load_spam()\r\n",
    "\r\n",
    "# Instantiate the classification model and visualizer\r\n",
    "model = LogisticRegression(multi_class=\"auto\", solver=\"liblinear\")\r\n",
    "visualizer = DiscriminationThreshold(model)\r\n",
    "\r\n",
    "visualizer.fit(X, y)        # Fit the data to the visualizer\r\n",
    "visualizer.show();           # Finalize and render the figure"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "二进制分类算法的一种常见用法是使用它们产生的分数或概率来确定需要特殊处理的案例。例如，防欺诈应用程序可能使用分类算法来确定交易是否可能是欺诈性的，是否需要详细调查。在上图中，我们提供了一个示例，其中二进制分类器确定电子邮件是“垃圾邮件”（肯定的情况）还是“非垃圾邮件”（否定的情况）。被检测为垃圾邮件的电子邮件将移至隐藏文件夹，并最终被删除。\n",
    "\n",
    "许多分类器使用Decision_function对阳性分类评分，或使用predict_proba函数计算阳性分类的概率。 如果分数或概率大于某个判别阈值，则选择肯定类别，否则选择否定类别。\n",
    "\n",
    "一般来说，阈值在案例之间是平衡的，并设置为0.5或50%的概率。但是，这个阈值可能不是最优阈值:对于一个辨别阈值，精度和召回率之间通常存在反向关系。通过调整分类器的阈值，可以将F1得分(精度和召回率的调和平均值)调整为可能的最佳匹配，或者调整分类器以使其行为最适合特定应用程序。分类器是通过考虑以下指标来调整的:\n",
    "+ 精度：精度的提高降低了误报的数量;当特殊处理的成本很高(例如，在防止欺诈或丢失重要电子邮件上浪费时间)时，应该优化这个度量。\n",
    "+ 召回率：召回率的增加降低漏掉阳性类别的可能性；在至关重要的情况下，即使以更多的误报为代价，也应该优化此指标。\n",
    "+ F1得分：F1得分为precision和recall之间的调和平均值。fbeta参数确定计算此度量时精度和召回率的相对权重，默认设置为1或F1。优化此度量可以在精确度和召回率之间取得最佳平衡。\n",
    "+ 排队率：“队列”是垃圾邮件文件夹或欺诈调查台的收件箱。 该指标描述了必须检查的实例的百分比。 如果审核的成本很高（例如预防欺诈），则必须在业务需求方面将其降至最低； 如果没有（例如垃圾邮件过滤器），则可以对其进行优化以确保收件箱保持整洁。\n",
    "\n",
    "在上图中，我们看到可视化器已调整为寻找最佳F1分数，该分数标注为阈值0.43。 为了考虑模型相对于度量的变化（显示为中值曲线周围的填充区域），模型在多个训练/测试拆分中多次运行。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "## 7.2 快速方法\n",
    "上面的相同功能可以通过关联的快速方法来实现discrimination_threshold。此方法将DiscriminationThreshold使用关联的参数构建对象，将其拟合，然后（可选）立即显示它."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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D39ERyGE6Oo6bXCoDplMfeZ99laHuXBkLwblpXFUd+m2KoQQraHTBofb3ljMZxt2MSw/nZNVAeOLs/G28ePlQghxpOqUpelb327kd+9rkuN8XFXaj+HdM0hPPLgXkxBCiEPT6YLDjor9zHjhQ0KWzfRx/VA5KQzISWnvbAkhxBGlUwUH27a5+oWPWLurkuP75lFanM24Ipm8RwghWlunCg7Pfb6GF5esJS85gYtKejG6MIvEQKfvjSuE6GA2b97MG2+80Wrp3XrrrZSWljJ58uRG95s/fz4nn3wy3/ve93jssceaXB9LnSo43PvOUryGwewJioG5qfRMP7SBtYQQojGLFi3iq6++arX0zjnnHB5//PFG9zFNk//5n//h8ccfZ968ebz++uusWLGiwfWx1qmCw579IX4wvCdDC9Io6SGT9wghWt+nn37KPffcw5tvvslZZ53VKtN5jh49mtTU1Eb3+fLLLykqKqKwsJBAIMDpp5/Of/7znwbXx1qnapPpk5nEGYN6UFqUjd/bqeKaEKKTGDVqFEOGDOGWW26hf//+je570UUXUVlZedD6W265hfHjx7foc7ds2UJeXl7N+9zcXL788ssG18dapwoOF5f0YmhBOllJ8U3vLITo9O655x5++ctf1rx/5513ADj++ONr1t18883MnTuXQYMGsXnzZsAZCvu9997j+uuv54knnqjZ96uvviI/P7/Jz121ahW9e/ducr+nn3662d+ls+lUwaFPZjJD8tKa3lEIcUSYO3cuc+fOPWj9zp07D1r39ddf1yxHruYffPBBHnzwwRZ95s6dO0lOTsbn87Fjxw6mT5/OxIkTWbVqFQ899NABczm3Zs0hNze3JriBU5PIzc1tcH2sdargMLJHpnRbFULE1IYNG2pmeluyZAmnn34606dP584772T37t1kZGTU7NuaNYehQ4eyevVq1q1bR25uLvPmzeP++++nV69e9a6PtU7VcC/dVoUQsda7d2927drF5MmTeeKJJ2rmcq6oqDggMLTEnDlzuOCCC1i1ahWTJk3i+eefr9n2wx/+kC1btuDz+bjzzjuZPn06p512Gqeeeir9+vVrcH2sxXSyH6XUA8A4wAau01p/ErXtOOAXgAloYLrWut6JWJua7Ker6eyTurQmORe1Ovu56AiT/dQ1Z84ccnJyqKqq4pRTTqG0tPSw04yV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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from yellowbrick.classifier.threshold import discrimination_threshold\r\n",
    "from yellowbrick.datasets import load_occupancy\r\n",
    "from sklearn.neighbors import KNeighborsClassifier\r\n",
    "import numpy as np\r\n",
    "\r\n",
    "#Load the classification dataset\r\n",
    "X, y = load_occupancy()\r\n",
    "\r\n",
    "# Instantiate the visualizer with the classification model\r\n",
    "model = KNeighborsClassifier(3)\r\n",
    "\r\n",
    "# exclude设定不显示的指标\r\n",
    "# argmax阈值评价的指标，可选'precision','recall','fscore',None,默认'f1score'\r\n",
    "discrimination_threshold(model, X, y,exclude='queue_rate', argmax='precision');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "# 8 参考\n",
    "[https://www.scikit-yb.org/en/latest/api/classifier/confusion_matrix.html](https://www.scikit-yb.org/en/latest/api/classifier/confusion_matrix.html)\n",
    "\n",
    "[https://www.scikit-yb.org/en/latest/api/classifier/classification_report.html](https://www.scikit-yb.org/en/latest/api/classifier/classification_report.html)\n",
    "\n",
    "[https://www.scikit-yb.org/en/latest/api/classifier/rocauc.html](https://www.scikit-yb.org/en/latest/api/classifier/rocauc.html)\n",
    "\n",
    "[https://www.scikit-yb.org/en/latest/api/classifier/prcurve.html](https://www.scikit-yb.org/en/latest/api/classifier/prcurve.html)\n",
    "\n",
    "[https://www.scikit-yb.org/en/latest/api/target/class_balance.html](https://www.scikit-yb.org/en/latest/api/target/class_balance.html)\n",
    "\n",
    "[https://www.scikit-yb.org/en/latest/api/classifier/class_prediction_error.html](https://www.scikit-yb.org/en/latest/api/classifier/class_prediction_error.html)\n",
    "\n",
    "[https://www.scikit-yb.org/en/latest/api/classifier/threshold.html](https://www.scikit-yb.org/en/latest/api/classifier/threshold.html)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "PaddlePaddle 1.8.0 (Python 3.5)",
   "language": "python",
   "name": "py35-paddle1.2.0"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
